import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { RouterModule } from '@angular/router';

import { PilotGameSharedModule } from '../../shared';
import {
    CyclePlanService,
    CyclePlanPopupService,
    CyclePlanComponent,
    CyclePlanDetailComponent,
    CyclePlanDialogComponent,
    CyclePlanPopupComponent,
    CyclePlanDeletePopupComponent,
    CyclePlanDeleteDialogComponent,
    cyclePlanRoute,
    cyclePlanPopupRoute,
    CyclePlanResolvePagingParams,
} from './';

const ENTITY_STATES = [
    ...cyclePlanRoute,
    ...cyclePlanPopupRoute,
];

@NgModule({
    imports: [
        PilotGameSharedModule,
        RouterModule.forRoot(ENTITY_STATES, { useHash: true })
    ],
    declarations: [
        CyclePlanComponent,
        CyclePlanDetailComponent,
        CyclePlanDialogComponent,
        CyclePlanDeleteDialogComponent,
        CyclePlanPopupComponent,
        CyclePlanDeletePopupComponent,
    ],
    entryComponents: [
        CyclePlanComponent,
        CyclePlanDialogComponent,
        CyclePlanPopupComponent,
        CyclePlanDeleteDialogComponent,
        CyclePlanDeletePopupComponent,
    ],
    providers: [
        CyclePlanService,
        CyclePlanPopupService,
        CyclePlanResolvePagingParams,
    ],
    schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class PilotGameCyclePlanModule {}
